package com.itheima.day13.thread.test13;

//        - 生产者类(Cooker)：实现Runnable接口，重写run()方法，设置线程任务
//        1.判断是否有包子,决定当前线程是否执行
//        2.如果有包子,就进入等待状态,如果没有包子,继续执行,生产包子
//        3.生产包子之后,更新桌子上包子状态,唤醒消费者消费包子
public class Cooker implements Runnable {

    @Override
    public void run() {
        while(true){
            synchronized(Desk.obj){
                if(Desk.count == 0){
                    break;
                }
                if(Desk.boo){
                    // 桌上有包子
                    // 叫醒消费者
                    Desk.obj.notifyAll();
                }else{
                    // 桌上无包子
                    Desk.boo = true;
                    System.out.println("包子已做好");
                    // 叫醒消费者
                    Desk.obj.notifyAll();
                }
            }
        }
    }
}
